Various techniques of in silico and in vitro based directed evolution of protein function have allowed the generation of proteins with novel properties. For example, cytochrome p450 enzymes have been evolved to have activity against substrates not normally recognized by the naturally occurring enzyme (see, e.g., Landwehr et al., 2007, Chem Biol 14(3):269-78; Kubo et al., 2006, Chemistry 12(4):1216-20). Increases in the efficiency of creating polypeptide variants allow the generation of large, diverse population sets that can be screened for improved or new activities. Targeted properties can include, among others, increased enzymatic activity, stereoselectivity, stereospecificity, thermal stability, inhibitor resistance, protease resistance, etc. Generally, selection of the variants for further evolution and screening is made following the testing of a set of mutated polypeptides for various desirable and/or undesirable properties, typically based on activity for a single substrate or ligand. This approach to variant selection, however, is not efficient, subject to human bias, and becomes more difficult as the number and complexity of the variants (e.g., population size) increases, and where a population of variants having different properties, e.g., activities against structurally different substrates or ligands, is being sought. Hence, it is beneficial to have methods for creating variants for purposes of testing and evolution of novel biological properties that can manage large sample sizes and diverse sets of performance criteria.